include(FetchContent)

FetchContent_Declare(
    googletest
    GIT_REPOSITORY https://github.com/google/googletest.git
    GIT_TAG        v1.15.2
)
FetchContent_MakeAvailable(googletest)

add_executable(rvc_tests
    test_device_interfaces.cpp
    test_pattern_interfaces.cpp
    test_rvc_controller.cpp
    test_timer.cpp
    test_off_state.cpp
    test_default_avoid_strategy.cpp
    test_movement_manager.cpp
    test_dust_sensor_subject.cpp
    test_obstacle_sensor_subject.cpp
    test_cleaning_manager.cpp
    test_avoiding_state.cpp
    test_cleaning_state.cpp
    test_error_state.cpp
    test_initializing_state.cpp
)

target_link_libraries(rvc_tests
    PRIVATE rvc_lib
    PRIVATE GTest::gtest_main
)

include(GoogleTest)
gtest_discover_tests(rvc_tests)
